Package bg.smoc.web.servlet

Source Code of bg.smoc.web.servlet.AccountsServlet

package bg.smoc.web.servlet;

import java.io.IOException;
import java.util.Hashtable;
import java.util.Vector;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bg.smoc.model.Contest;
import bg.smoc.model.UserAccount;
import bg.smoc.web.utils.SessionUtil;

public class AccountsServlet extends HttpServlet {

    private static final long serialVersionUID = -683637400526822595L;

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        SessionUtil sessionUtil = SessionUtil.getInstance();
        Vector<Contest> allContests = sessionUtil.getContestManager().getContests();
        request.setAttribute("contests", allContests);

        Hashtable<String, Contest> contestsHash = loadContestsIntoHashtable(allContests);
        Vector<UserAccount> users = sessionUtil.getUserAccountManager().getAllUsers();

        request.setAttribute("table", GenerateTable(users, contestsHash));

        request.getRequestDispatcher("accounts.jsp").forward(request, response);
    }

    private Vector<Vector<String>> GenerateTable(Vector<UserAccount> users,
            Hashtable<String, Contest> contestsHash) {
        Vector<Vector<String>> table = new Vector<Vector<String>>();
        for (UserAccount user : users) {
            Vector<String> row = new Vector<String>();
            table.add(row);
            row.add(user.getLogin());
            row.add(user.getPassword());
            StringBuffer contests = new StringBuffer("");
            for (String contestId : user.getContestIds()) {
                Contest contest = contestsHash.get(contestId);
                if (contest != null)
                    contests.append(contest.getName());
                else
                    contests.append("???");
                contests.append(" ");
            }
            row.add(contests.toString());
        }
        return table;
    }

    private Hashtable<String, Contest> loadContestsIntoHashtable(Vector<Contest> allContests) {
        Hashtable<String, Contest> contestsHash = new Hashtable<String, Contest>();
        for (Contest contest : allContests) {
            contestsHash.put(contest.getId(), contest);
        }
        return contestsHash;
    }
}
TOP

Related Classes of bg.smoc.web.servlet.AccountsServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.